{
 "nbformat": 4,
 "nbformat_minor": 0,
 "metadata": {
  "colab": {
   "provenance": [],
   "machine_shape": "hm",
   "gpuType": "T4",
   "authorship_tag": "ABX9TyPpHDLYEn+ftr/QOZRewxfO"
  },
  "kernelspec": {
   "name": "python3",
   "display_name": "Python 3"
  },
  "language_info": {
   "name": "python"
  },
  "accelerator": "GPU"
 },
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "![JohnSnowLabs](https://nlp.johnsnowlabs.com/assets/images/logo.png)\n",
    "\n",
    "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/JohnSnowLabs/nlu/blob/master/examples/colab/component_examples/named_entity_recognition_NER/NLU_explain_clinical_doc_vop_pipeline.ipynb)\n",
    "\n",
    "# Explain Clinical Document - Voice Of Patient (VOP)\n",
    "\n",
    "This pipeline is designed to:\n",
    "\n",
    "- extract all healthcare-related entities\n",
    "\n",
    "- assign assertion status to the extracted entities\n",
    "\n",
    "- establish relations between the extracted entities\n",
    "\n",
    "from the documents transferred from the patient’s sentences. In this pipeline, six NER models, one assertion model, and one relation extraction model were used to achieve those tasks."
   ],
   "metadata": {
    "id": "jQMCz8dLv5AR"
   }
  },
  {
   "cell_type": "code",
   "source": [
    "from johnsnowlabs import nlp\n",
    "\n",
    "# After uploading your license run this to install all licensed Python Wheels and pre-download Jars the Spark Session JVM\n",
    "nlp.install()"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 257
    },
    "id": "jVNmOh_hCc_z",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1712211019507,
     "user_tz": 240,
     "elapsed": 9459,
     "user": {
      "displayName": "Samed Koçer",
      "userId": "16161902236051002702"
     }
    },
    "outputId": "be72aad1-264d-484d-c4aa-a8fd4a9d242a"
   },
   "execution_count": 2,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Spark NLP Version : 5.3.1\n",
      "Spark NLP_JSL Version : 5.3.1\n"
     ]
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<pyspark.sql.session.SparkSession at 0x7ae2f8da1930>"
      ],
      "text/html": [
       "\n",
       "            <div>\n",
       "                <p><b>SparkSession - in-memory</b></p>\n",
       "                \n",
       "        <div>\n",
       "            <p><b>SparkContext</b></p>\n",
       "\n",
       "            <p><a href=\"http://399d7dc7ddfa:4040\">Spark UI</a></p>\n",
       "\n",
       "            <dl>\n",
       "              <dt>Version</dt>\n",
       "                <dd><code>v3.1.2</code></dd>\n",
       "              <dt>Master</dt>\n",
       "                <dd><code>local[*]</code></dd>\n",
       "              <dt>AppName</dt>\n",
       "                <dd><code>Spark NLP Licensed</code></dd>\n",
       "            </dl>\n",
       "        </div>\n",
       "        \n",
       "            </div>\n",
       "        "
      ]
     },
     "metadata": {},
     "execution_count": 2
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "pipe = nlp.load(\"en.explain_doc.pipeline_vop\")"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "sodmB9vZEsQZ",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1712211195860,
     "user_tz": 240,
     "elapsed": 165222,
     "user": {
      "displayName": "Samed Koçer",
      "userId": "16161902236051002702"
     }
    },
    "outputId": "ca93c286-0bdd-402a-ee6c-8200ddc7d080"
   },
   "execution_count": 3,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Warning::Spark Session already created, some configs may not take.\n",
      "Warning::Spark Session already created, some configs may not take.\n",
      "explain_clinical_doc_radiology download started this may take some time.\n",
      "Approx size to download 1.7 GB\n",
      "[OK!]\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "text = [\"\"\"I had been feeling really tired all the time and was losing weight without even trying. My doctor checked my sugar levels and they came out to be high. So, I have type 2 diabetes.\n",
    "He put me on two medications - I take metformin 500 mg twice a day, and glipizide 5 mg before breakfast and dinner. I also have to watch what I eat and try to exercise more.\n",
    "Now, I also have chronic acid reflux disease or GERD. Now I take daily omeprazole 20 mg to control the heartburn symptoms.\"\"\"]"
   ],
   "metadata": {
    "id": "nizEiuR9Fi51",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1712211239090,
     "user_tz": 240,
     "elapsed": 5,
     "user": {
      "displayName": "Samed Koçer",
      "userId": "16161902236051002702"
     }
    }
   },
   "execution_count": 4,
   "outputs": []
  },
  {
   "cell_type": "code",
   "source": [
    "df = pipe.predict(text)"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "KfRJj9jOGjUN",
    "executionInfo": {
     "status": "ok",
     "timestamp": 1712211256451,
     "user_tz": 240,
     "elapsed": 13309,
     "user": {
      "displayName": "Samed Koçer",
      "userId": "16161902236051002702"
     }
    },
    "outputId": "a14c06d1-1cbd-412a-919c-55255a3bc4e6"
   },
   "execution_count": 5,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "\u001B[91m🚨 Your Spark-Healthcare is outdated, installed==5.3.1 but latest version==5.3.0\n",
      "You can run \u001B[92m nlp.install() \u001B[39mto update Spark-Healthcare\n",
      "Warning::Spark Session already created, some configs may not take.\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "df"
   ],
   "metadata": {
    "id": "FLNcNmoHGl_O",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 841
    },
    "executionInfo": {
     "status": "ok",
     "timestamp": 1712211265299,
     "user_tz": 240,
     "elapsed": 10,
     "user": {
      "displayName": "Samed Koçer",
      "userId": "16161902236051002702"
     }
    },
    "outputId": "a5c97890-1544-4073-a8a7-211fcb294490"
   },
   "execution_count": 6,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "                                                            assertion  \\\n",
       "0  [Suspected, Confirmed, Confirmed, Confirmed, Suspected, Confirmed]   \n",
       "\n",
       "                                                                                                                                                                                                  document  \\\n",
       "0  I had been feeling really tired all the time and was losing weight without even trying. My doctor checked my sugar levels and they came out to be high. So, I have type 2 diabetes.\\nHe put me on tw...   \n",
       "\n",
       "                                                                                                                                                                            entities_jsl_ner_chunk  \\\n",
       "0  [feeling really tired, losing weight, sugar levels, high, He, metformin, twice a day, glipizide, before breakfast and dinner, acid reflux disease, GERD, daily, omeprazole, heartburn symptoms]   \n",
       "\n",
       "                                                                                                                                      entities_jsl_ner_chunk_class  \\\n",
       "0  [Symptom, Symptom, Test, Test_Result, Gender, Drug, Frequency, Drug, Frequency, Disease_Syndrome_Disorder, Disease_Syndrome_Disorder, Frequency, Drug, Symptom]   \n",
       "\n",
       "                                                                                            entities_jsl_ner_chunk_confidence  \\\n",
       "0  [0.42706665, 0.7063, 0.81455, 0.8967, 1.0, 0.978, 0.86443335, 0.999, 0.866575, 0.5604667, 0.9963, 0.9646, 0.9959, 0.70985]   \n",
       "\n",
       "              entities_jsl_ner_chunk_origin_chunk  \\\n",
       "0  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]   \n",
       "\n",
       "       entities_jsl_ner_chunk_origin_sentence entities_ner_chexpert_chunk  \\\n",
       "0  [0, 0, 1, 1, 3, 3, 3, 3, 3, 5, 5, 6, 6, 6]                          []   \n",
       "\n",
       "  entities_ner_oncology_chunk entities_ner_oncology_chunk_class  ...  \\\n",
       "0                        [He]                          [Gender]  ...   \n",
       "\n",
       "                                                                                                                                         entities_radiology_ner_chunk_class  \\\n",
       "0  [Symptom, Test, Disease_Syndrome_Disorder, Measurements, Units, Measurements, Units, Disease_Syndrome_Disorder, Disease_Syndrome_Disorder, Measurements, Units, Symptom]   \n",
       "\n",
       "                                                                  entities_radiology_ner_chunk_confidence  \\\n",
       "0  [0.6786, 0.40135002, 0.4851, 0.9707, 0.9833, 0.9051, 0.9769, 0.643025, 0.9902, 0.8762, 0.9376, 0.7716]   \n",
       "\n",
       "  entities_radiology_ner_chunk_origin_chunk  \\\n",
       "0    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]   \n",
       "\n",
       "  entities_radiology_ner_chunk_origin_sentence  \\\n",
       "0         [0, 1, 2, 3, 3, 3, 3, 5, 5, 6, 6, 6]   \n",
       "\n",
       "                                                                                                                                                                                               matched_pos  \\\n",
       "0  [feeling really tired, losing weight, sugar levels, high, diabetes, He, two medications, metformin, 500, mg, twice a day, glipizide, 5, mg, before breakfast and dinner, chronic acid reflux disease...   \n",
       "\n",
       "                                                                                                                                                                                                       pos  \\\n",
       "0  [MC, VHD, VBN, VVG, RR, VVNJ, DB, DD, NN, CC, VBD, VVGJ, NN, II, RR, VVGJ, NN, NN, NN, VVD, NN, NN, NNS, CC, PN, VVB, II, TO, VBI, JJ, NN, NN, NN, MC, VHB, NN, MC, NN, NN, NN, NN, NN, II, MC, NNS,...   \n",
       "\n",
       "  relations  \\\n",
       "0       NaN   \n",
       "\n",
       "                                                                                                                                                                                               sentence_dl  \\\n",
       "0  [I had been feeling really tired all the time and was losing weight without even trying., My doctor checked my sugar levels and they came out to be high., So, I have type 2 diabetes., He put me on...   \n",
       "\n",
       "                                                                                                                                                                                      unlabeled_dependency  \\\n",
       "0  [feeling, feeling, feeling, ROOT, tired, feeling, time, time, tired, losing, losing, weight, tired, trying, trying, feeling, feeling, doctor, checked, ROOT, levels, levels, checked, came, came, ch...   \n",
       "\n",
       "                                                                                                                                                                                 word_embedding_embeddings  \n",
       "0  [[0.09337666630744934, 0.031265825033187866, 0.152923122048378, -0.24998794496059418, 0.49187055230140686, -0.44001245498657227, 0.14361239969730377, -0.3373923599720001, 0.1620967984199524, 0.066...  \n",
       "\n",
       "[1 rows x 29 columns]"
      ],
      "text/html": [
       "\n",
       "  <div id=\"df-78822eb6-92ab-46a2-b94c-2ecc2c9bb3ea\" class=\"colab-df-container\">\n",
       "    <div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>assertion</th>\n",
       "      <th>document</th>\n",
       "      <th>entities_jsl_ner_chunk</th>\n",
       "      <th>entities_jsl_ner_chunk_class</th>\n",
       "      <th>entities_jsl_ner_chunk_confidence</th>\n",
       "      <th>entities_jsl_ner_chunk_origin_chunk</th>\n",
       "      <th>entities_jsl_ner_chunk_origin_sentence</th>\n",
       "      <th>entities_ner_chexpert_chunk</th>\n",
       "      <th>entities_ner_oncology_chunk</th>\n",
       "      <th>entities_ner_oncology_chunk_class</th>\n",
       "      <th>...</th>\n",
       "      <th>entities_radiology_ner_chunk_class</th>\n",
       "      <th>entities_radiology_ner_chunk_confidence</th>\n",
       "      <th>entities_radiology_ner_chunk_origin_chunk</th>\n",
       "      <th>entities_radiology_ner_chunk_origin_sentence</th>\n",
       "      <th>matched_pos</th>\n",
       "      <th>pos</th>\n",
       "      <th>relations</th>\n",
       "      <th>sentence_dl</th>\n",
       "      <th>unlabeled_dependency</th>\n",
       "      <th>word_embedding_embeddings</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[Suspected, Confirmed, Confirmed, Confirmed, Suspected, Confirmed]</td>\n",
       "      <td>I had been feeling really tired all the time and was losing weight without even trying. My doctor checked my sugar levels and they came out to be high. So, I have type 2 diabetes.\\nHe put me on tw...</td>\n",
       "      <td>[feeling really tired, losing weight, sugar levels, high, He, metformin, twice a day, glipizide, before breakfast and dinner, acid reflux disease, GERD, daily, omeprazole, heartburn symptoms]</td>\n",
       "      <td>[Symptom, Symptom, Test, Test_Result, Gender, Drug, Frequency, Drug, Frequency, Disease_Syndrome_Disorder, Disease_Syndrome_Disorder, Frequency, Drug, Symptom]</td>\n",
       "      <td>[0.42706665, 0.7063, 0.81455, 0.8967, 1.0, 0.978, 0.86443335, 0.999, 0.866575, 0.5604667, 0.9963, 0.9646, 0.9959, 0.70985]</td>\n",
       "      <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]</td>\n",
       "      <td>[0, 0, 1, 1, 3, 3, 3, 3, 3, 5, 5, 6, 6, 6]</td>\n",
       "      <td>[]</td>\n",
       "      <td>[He]</td>\n",
       "      <td>[Gender]</td>\n",
       "      <td>...</td>\n",
       "      <td>[Symptom, Test, Disease_Syndrome_Disorder, Measurements, Units, Measurements, Units, Disease_Syndrome_Disorder, Disease_Syndrome_Disorder, Measurements, Units, Symptom]</td>\n",
       "      <td>[0.6786, 0.40135002, 0.4851, 0.9707, 0.9833, 0.9051, 0.9769, 0.643025, 0.9902, 0.8762, 0.9376, 0.7716]</td>\n",
       "      <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]</td>\n",
       "      <td>[0, 1, 2, 3, 3, 3, 3, 5, 5, 6, 6, 6]</td>\n",
       "      <td>[feeling really tired, losing weight, sugar levels, high, diabetes, He, two medications, metformin, 500, mg, twice a day, glipizide, 5, mg, before breakfast and dinner, chronic acid reflux disease...</td>\n",
       "      <td>[MC, VHD, VBN, VVG, RR, VVNJ, DB, DD, NN, CC, VBD, VVGJ, NN, II, RR, VVGJ, NN, NN, NN, VVD, NN, NN, NNS, CC, PN, VVB, II, TO, VBI, JJ, NN, NN, NN, MC, VHB, NN, MC, NN, NN, NN, NN, NN, II, MC, NNS,...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>[I had been feeling really tired all the time and was losing weight without even trying., My doctor checked my sugar levels and they came out to be high., So, I have type 2 diabetes., He put me on...</td>\n",
       "      <td>[feeling, feeling, feeling, ROOT, tired, feeling, time, time, tired, losing, losing, weight, tired, trying, trying, feeling, feeling, doctor, checked, ROOT, levels, levels, checked, came, came, ch...</td>\n",
       "      <td>[[0.09337666630744934, 0.031265825033187866, 0.152923122048378, -0.24998794496059418, 0.49187055230140686, -0.44001245498657227, 0.14361239969730377, -0.3373923599720001, 0.1620967984199524, 0.066...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 29 columns</p>\n",
       "</div>\n",
       "    <div class=\"colab-df-buttons\">\n",
       "\n",
       "  <div class=\"colab-df-container\">\n",
       "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-78822eb6-92ab-46a2-b94c-2ecc2c9bb3ea')\"\n",
       "            title=\"Convert this dataframe to an interactive table.\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
       "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
       "  </svg>\n",
       "    </button>\n",
       "\n",
       "  <style>\n",
       "    .colab-df-container {\n",
       "      display:flex;\n",
       "      gap: 12px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert {\n",
       "      background-color: #E8F0FE;\n",
       "      border: none;\n",
       "      border-radius: 50%;\n",
       "      cursor: pointer;\n",
       "      display: none;\n",
       "      fill: #1967D2;\n",
       "      height: 32px;\n",
       "      padding: 0 0 0 0;\n",
       "      width: 32px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert:hover {\n",
       "      background-color: #E2EBFA;\n",
       "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "      fill: #174EA6;\n",
       "    }\n",
       "\n",
       "    .colab-df-buttons div {\n",
       "      margin-bottom: 4px;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert {\n",
       "      background-color: #3B4455;\n",
       "      fill: #D2E3FC;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert:hover {\n",
       "      background-color: #434B5C;\n",
       "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
       "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
       "      fill: #FFFFFF;\n",
       "    }\n",
       "  </style>\n",
       "\n",
       "    <script>\n",
       "      const buttonEl =\n",
       "        document.querySelector('#df-78822eb6-92ab-46a2-b94c-2ecc2c9bb3ea button.colab-df-convert');\n",
       "      buttonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "\n",
       "      async function convertToInteractive(key) {\n",
       "        const element = document.querySelector('#df-78822eb6-92ab-46a2-b94c-2ecc2c9bb3ea');\n",
       "        const dataTable =\n",
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       "                                                    [key], {});\n",
       "        if (!dataTable) return;\n",
       "\n",
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       "        await google.colab.output.renderOutput(dataTable, element);\n",
       "        const docLink = document.createElement('div');\n",
       "        docLink.innerHTML = docLinkHtml;\n",
       "        element.appendChild(docLink);\n",
       "      }\n",
       "    </script>\n",
       "  </div>\n",
       "\n",
       "\n",
       "  <div id=\"id_44813da6-2ed3-42bd-b6df-3e759a6082fa\">\n",
       "    <style>\n",
       "      .colab-df-generate {\n",
       "        background-color: #E8F0FE;\n",
       "        border: none;\n",
       "        border-radius: 50%;\n",
       "        cursor: pointer;\n",
       "        display: none;\n",
       "        fill: #1967D2;\n",
       "        height: 32px;\n",
       "        padding: 0 0 0 0;\n",
       "        width: 32px;\n",
       "      }\n",
       "\n",
       "      .colab-df-generate:hover {\n",
       "        background-color: #E2EBFA;\n",
       "        box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "        fill: #174EA6;\n",
       "      }\n",
       "\n",
       "      [theme=dark] .colab-df-generate {\n",
       "        background-color: #3B4455;\n",
       "        fill: #D2E3FC;\n",
       "      }\n",
       "\n",
       "      [theme=dark] .colab-df-generate:hover {\n",
       "        background-color: #434B5C;\n",
       "        box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
       "        filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
       "        fill: #FFFFFF;\n",
       "      }\n",
       "    </style>\n",
       "    <button class=\"colab-df-generate\" onclick=\"generateWithVariable('df')\"\n",
       "            title=\"Generate code using this dataframe.\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
       "       width=\"24px\">\n",
       "    <path d=\"M7,19H8.4L18.45,9,17,7.55,7,17.6ZM5,21V16.75L18.45,3.32a2,2,0,0,1,2.83,0l1.4,1.43a1.91,1.91,0,0,1,.58,1.4,1.91,1.91,0,0,1-.58,1.4L9.25,21ZM18.45,9,17,7.55Zm-12,3A5.31,5.31,0,0,0,4.9,8.1,5.31,5.31,0,0,0,1,6.5,5.31,5.31,0,0,0,4.9,4.9,5.31,5.31,0,0,0,6.5,1,5.31,5.31,0,0,0,8.1,4.9,5.31,5.31,0,0,0,12,6.5,5.46,5.46,0,0,0,6.5,12Z\"/>\n",
       "  </svg>\n",
       "    </button>\n",
       "    <script>\n",
       "      (() => {\n",
       "      const buttonEl =\n",
       "        document.querySelector('#id_44813da6-2ed3-42bd-b6df-3e759a6082fa button.colab-df-generate');\n",
       "      buttonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "\n",
       "      buttonEl.onclick = () => {\n",
       "        google.colab.notebook.generateWithVariable('df');\n",
       "      }\n",
       "      })();\n",
       "    </script>\n",
       "  </div>\n",
       "\n",
       "    </div>\n",
       "  </div>\n"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "dataframe",
       "variable_name": "df"
      }
     },
     "metadata": {},
     "execution_count": 6
    }
   ]
  }
 ]
}
